home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 7: Sunsite / Linux Cubed Series 7 - Sunsite Vol 1.iso / system / shells / rc-1.000 / rc-1 / rc-1.5-linux / README < prev    next >
Encoding:
Text File  |  1994-03-07  |  4.7 KB  |  112 lines

  1. This is release 1.5 of rc.
  2.  
  3. Read COPYRIGHT for copying information. All files are
  4.  
  5. Copyright 1991, Byron Rakitzis.
  6.  
  7. COMPILING
  8.  
  9. rc was written in portable ANSI C. If you don't have an ANSI compiler
  10. like gcc or something close (e.g., sgi's cc) read further down on
  11. how to convert rc's source to old C.
  12.  
  13. Please read the Makefile, and copy config.h-dist to config.h and
  14. examine the parameters in there; they let you customize rc to your
  15. Unix. For example, some Unices support /dev/fd, or some have FIFOs.
  16. If you do not perform this step then the Makefile will automatically
  17. copy config.h-dist to config.h and proceed assuming that everything
  18. is ok. Note that config.h-dist supplies default parameter configurations
  19. for SunOS, NeXT-OS, Irix, Ultrix and some others. Finally, if you're
  20. having trouble you may want to look at proto.h and see if everything
  21. in there jibes with your system.
  22.  
  23. After you've built rc, you may wish to run it through a test script
  24. to see that everything is ok. Type "make trip" for this. This will
  25. produce some output, and end with "trip is complete". If the trip
  26. ends with "trip took a wrong turn..." then drop me a line.
  27.  
  28. To compile the history program, go into the history subdirectory
  29. and type "make". This will create a binary called "history". However,
  30. in order for it to work as advertised it must be installed into
  31. your bin as four files named -, --, -p and --p. (these can be soft
  32. or hard links to the same file)
  33.  
  34. rc may also be linked with either GNU readline (10,000+ lines of
  35. code!) or a supplied readline-like system by Simmule Turner (1,000+
  36. lines of code). See the Makefile on how to do this.
  37.  
  38. BUGS
  39.  
  40. Send bug reports to byron@archone.tamu.edu. If a core dump is
  41. generated, sending me a backtrace will help me out a great deal. You
  42. can get a backtrace like this:
  43.  
  44.     ; gdb rc core
  45.     (gdb) where
  46.     <<<BACKTRACE INFO>>>
  47.     (gdb)
  48.  
  49. Also, always report the machine, compiler and OS used to make rc.  It's
  50. possible I may have access to a machine of that type, in which case it
  51. becomes much easier for me to track the bug down.
  52.  
  53. If you are using gcc, please make sure that you have a recent version of
  54. the compiler (1.39 and up) before you send me a note; I have found that
  55. older versions of gcc choke over rc and generate bad code on several
  56. architectures. (this is especially relevant for the the MIPS architecture)
  57.  
  58. FEEPING CREATURISM
  59.  
  60. See the end of the man page, under "INCOMPATABILITIES" for (known?)
  61. differences from the "real" rc. Most of these changes were necessary
  62. to get rc to work in a reasonable fashion on a real (i.e., commercial,
  63. non-Labs) UNIX system; a few were changes motivated by concern
  64. about some inadequacies in the original design.
  65.  
  66. YACC
  67.  
  68. The yacc that Sun ships with SunOS 4.1.1 calls malloc() to allocate
  69. space for the state stack, and requires a call to YYACCEPT or YYABORT
  70. to free this memory. This means that if rc takes an interrupt while
  71. parsing a command (say, if ^C is typed), yacc will leak away this
  72. memory. The solution is to use a yacc which statically allocates
  73. this array, such as the yacc in the BSD distribution. Berkeley yacc-
  74. generated y.tab.c and y.tab.h are shipped with rc in case you cannot
  75. get hold of Berkeley yacc.
  76.  
  77. OLD C
  78.  
  79. If you need to convert rc's source into K&R C, you need to run the
  80. source through a filter called "unproto", posted in comp.sources.misc.
  81. A sample "cpp" shell script that I used to run unproto under SunOS
  82. is supplied with rc.
  83.  
  84. CREDITS
  85.  
  86. This shell was written by me, Byron Rakitzis, but kudos go to Paul
  87. Haahr for letting me know what a shell should do and for contributing
  88. certain bits and pieces to rc (notably the limits code, print.c,
  89. most of which.c and the backquote redirection code), and to Hugh
  90. Redelmeier for running rc through his fussy ANSI compiler and
  91. thereby provoking interesting discussions about portability, and
  92. also for providing many valuable suggestions for improving rc's
  93. code in general. Finally, many thanks go to David Sanderson, for
  94. reworking the man page to format well with troff, and for providing
  95. many suggestions both for rc and its man page.
  96.  
  97. Thanks to Boyd Roberts for the original history.c, and to Hugh
  98. again for re-working parts of that code.
  99.  
  100. Of course, without Tom Duff's design of the original rc, I could
  101. not have written this shell (though I probably would have written
  102. *a* shell). Almost of all of the features, with minor exceptions,
  103. have been implemented as described in the Unix v10 manuals. Hats
  104. off to td for designing a C-like, minimal but very useful shell.
  105.  
  106. Tom Duff has kindly given permission for the paper he wrote for
  107. UKUUG to be distributed with this version of rc (called "plan9.ps"
  108. in the same ftp directory as the shell). Please read this paper
  109. bearing in mind that it describes a program that was written at
  110. AT&T and that the version of rc presented here differs in some
  111. respects.
  112.